package com.moli.iov.open.model.vo.req;

import java.io.Serializable;
import java.util.List;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * <p>
 * 角色
 * </p>
 *
 * @author zql
 * @since 2019/9/21 15:50
 */
@Data
public class RoleVo extends BaseVo implements Serializable {

  private static final long serialVersionUID = -8520561280678457607L;

  /**
   * 角色id
   */
  @NotNull(message = "角色id不能为空", groups = {UpdateRoleByRoleId.class, SetPermissione.class,
      GetRolePermissions.class})
  private Long roleId;

  /**
   * 角色名称
   */
  @NotEmpty(message = "角色名称不能为空", groups = {SaveRole.class, UpdateRoleByRoleId.class})
  private String roleName;

  /**
   * 角色状态:1、启用 0、禁用
   */
  @NotNull(message = "角色状态不能为空", groups = {SaveRole.class, UpdateRoleByRoleId.class})
  private Integer status;

  /**
   * 角色说明
   */
  @NotEmpty(message = "角色描述不能为空", groups = {SaveRole.class, UpdateRoleByRoleId.class})
  private String memo;

  /**
   * 权限集合
   */
  private List<Long> permissionIds;

  public interface SaveRole{}

  public interface UpdateRoleByRoleId{}

  public interface SetPermissione{}

  public interface GetRolePermissions{}
}
